<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

        // 基础语法: await  后面的代码全部变成异步代码
                    // await 只能等promise实例,其他的一概不等

        async function fu(){
            console.log('开始获取用户姓名');
          await new Promise((resolve,reject)=>{
                try{
                    setTimeout(()=>{
                        console.log('获取用户姓名成功');
                        const name = {
                            name : 'chen'
                        }
                        resolve('成功')
                    },1000)
                }
                catch(e){
                    reject(e.message)
                }
            })

        //  await  setTimeout(()=>{
        //                 console.log('获取用户姓名成功');
        //                 const name = {
        //                     name : 'chen'
        //                 }
        //                 resolve('成功')
        //             },1000)
        //             //如果后面跟的不是promise,则先执行下面,再执行定时器.不等有延迟的代码,顺序运行异步代码.
        //             //如果跟的 promise,不论promise多久运行,都会顶promise 运行完,再运行下面的异步代码
            console.log('看看是不是先打印');
        }

        fu();
        

        
    </script>
</body>
</html>